home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / Clipper.h < prev    next >
C/C++ Source or Header  |  1990-12-10  |  2KB  |  84 lines

  1. #ifndef Clipper_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define Clipper_First
  6.  
  7. #include "VObject.h"
  8.  
  9. enum ClipperFlags {
  10.     eClipperDefault  = eVObjDefault,
  11.     eClipperLast     = eVObjLast+0
  12. };
  13.  
  14. extern bool gBatch;
  15.  
  16.  
  17. class Clipper: public VObject {
  18.     Point minExtent, relOrigin, offset;
  19. protected:
  20.     VObject *vop;                          // the VObject I show
  21.     Ink *bgcolor;
  22.     
  23.     void FeedbackOnce(Command *tracker, Point ap, Point pp, bool turniton);
  24.     
  25. public:
  26.     MetaDef(Clipper);
  27.     Clipper(VObject *vp= 0, Point minsize= gPoint_1, int id= cIdNone,
  28.                             Ink *bg= ePatWhite);
  29.     void Open(bool mode);
  30.     Metric GetMinSize();
  31.     void SetMinExtent(Point e);
  32.     Point GetMinExtent()
  33.     { return minExtent; }
  34.     void SetFocus(Rectangle, Point);
  35.     void Enable(bool b= TRUE, bool redraw= TRUE);
  36.     VObject *Detect(BoolFun find, void *arg);
  37.     void SetBgInk(Ink *);
  38.     Ink *GetBgInk();
  39.     
  40.     //---- drawing ------------------------
  41.     void DrawInner(Rectangle, bool);
  42.     void DrawInFocus(VoidObjMemberFunc, Object*, void*, void*, void*, void*);
  43.     void Feedback(Object*, void*, void*, void*);
  44.     
  45.     //---- event handling -----------------
  46.     Command *DispatchEvents(Point, Token, Clipper*);
  47.     Point ContainerPoint(Point p);
  48.     bool TrackOnce(Command**, TrackPhase, Point, Point, Point);
  49.     Command *TrackInContent(Point, Token, Command*);
  50.     void SendDown(int, int, void*);
  51.     void Control(int, int, void*);
  52.     
  53.     //---- resize -------------------------
  54.     void SetOrigin(Point);
  55.     void SetExtent(Point e);
  56.     
  57.     //---- views --------------------------
  58.     virtual void ShowsView(VObject *vp);
  59.     virtual void RemoveView(VObject *vp);
  60.     virtual void ViewSizeChanged(Point, Point);
  61.     virtual Rectangle GetViewSize();
  62.     Rectangle GetViewedRect();
  63.     VObject *GetViewedVObject();
  64.     
  65.     //---- scrolling ----------------------
  66.     Point GetRelOrigin()
  67.     { return relOrigin; }
  68.     virtual Point AutoScroll(Point);
  69.     virtual void Scroll(int mode, Point scroll, bool redraw= TRUE);
  70.     void RevealRect(Rectangle, Point);
  71.     void RevealAlign(Rectangle r, VObjAlign al= VObjAlign(eVObjHLeft+eVObjVTop));
  72.   
  73.     //---- input/output --------------------
  74.     ostream& PrintOn (ostream&);
  75.     istream& ReadFrom(istream&);
  76.  
  77.     //---- inspecting ----------------------
  78.     void InspectorId(char *buf, int sz);
  79.     void Parts(Collection*);
  80. };
  81.  
  82. #endif Clipper_First
  83.  
  84.